package com.escom.activity;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.escom.R;
import com.escom.dao.ConsultaDAO;
import com.escom.entidad.ArritmiaVO;
import com.escom.entidad.ConsultaItem;
import com.escom.entidad.ConsultaVO;
import com.escom.entidad.DiagnosticoVO;
import com.escom.entidad.HospitalVO;
import com.escom.utils.Constantes;
import com.escom.utils.CustomConsultaAdapter;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Carlos on 17/04/2014.
 */
public class ConsultaFragment extends Fragment {

    private SharedPreferences sharedpreferences;
    private ListView listViewConsulta;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View viewActivity = inflater.inflate(R.layout.fragment_consulta, container, false);
        sharedpreferences = getActivity().getSharedPreferences(Constantes.MY_PREFERENCES, Context.MODE_PRIVATE);
        String idPaciente = sharedpreferences.getString(Constantes.ID_PACIENTE_KEY, null);
        listViewConsulta = (ListView) viewActivity.findViewById(R.id.listViewConsulta);

        ConsultaDAO consultaDAO = new ConsultaDAO(getActivity().getApplicationContext());
        List<ConsultaVO> retrieveConsulta = consultaDAO.retrieveConsultaByIdPaciente(idPaciente);

        List<ConsultaItem> consultaItem = creatConsultaItem(retrieveConsulta);


        CustomConsultaAdapter customConsultaAdapter
                = new CustomConsultaAdapter(viewActivity.getContext(), R.layout.custom_consulta_item, consultaItem);

        listViewConsulta.setAdapter(customConsultaAdapter);

        registerForContextMenu(listViewConsulta);


        return viewActivity;
    }

    public List<ConsultaItem> creatConsultaItem(List<ConsultaVO> retrieveConsulta) {
        List<ConsultaItem> consultaItem = new ArrayList<ConsultaItem>();
        if (retrieveConsulta != null && !retrieveConsulta.isEmpty()) {
            for (int i = 0; i < retrieveConsulta.size(); i++) {
                ConsultaItem item = new ConsultaItem();
                ConsultaVO consulta = retrieveConsulta.get(i);
                item.setFechaInicio(consulta.getFechaInicio());
                item.setFechaFinal(consulta.getFechaFinal());
                item.setDetalles(consulta.getDetalles());
                HospitalVO hospital = consulta.getHospital();
                if (hospital != null) {
                    item.setHospital(hospital.getHospital());
                } else {
                    item.setHospital("Sin despcripción");
                }
                DiagnosticoVO diagnostico = consulta.getDiagnostico();
                if (diagnostico != null && diagnostico.getArritmia() != null) {
                    ArritmiaVO arritmia = diagnostico.getArritmia();
                    item.setTipoArritmia(arritmia.getTipoArritmia());
                } else {
                    item.setTipoArritmia("Sin despcripción");
                }
                item.setExist(true);
                consultaItem.add(item);
            }
        } else {
            ConsultaItem item = new ConsultaItem();
            item.setExist(false);
            consultaItem.add(item);
        }
        return consultaItem;
    }

}
